package com.saybiu.dao;

import com.saybiu.domain.UserMeta;
import org.apache.ibatis.annotations.Param;

/**
 * @Author: wangwei
 * @Date: 2021-4-19 21:49:33
 */
public interface UserMetaDao {

    /**
     * 查询用户属性信息
     * @param userId
     * @return
     */
    UserMeta queryUserMeta(Integer userId);
    /**
     *通过userid更新用户属性表关注数量(加一)
     * @param userId 用户id
     * @return 是否操作成功
     */
    int addSupportNum(Integer userId);
    /**
     *通过userid更新用户属性表关注数量(减一)
     * @param userId 用户id
     * @return 是否操作成功
     */
    int subSupportNum(Integer userId);

    /**
     * 通过beSupportedUserId更新用户粉丝数量
     * @param beSupportedUserId  被关注用户id
     * @return 是否操作成功
     */
    int addSupportedNum(Integer beSupportedUserId);
    /**
     * 通过beSupportedUserId更新用户粉丝数量
     * @param beSupportUserId  被关注用户id
     * @return 是否操作成功
     */
    int subSupportedNum(Integer beSupportUserId);

    /**
     * 通过用户id修改属性信息(性别 头像  昵称)
     * @param userMeta
     * @return 操作结果
     */
    int updateUserMeata(UserMeta userMeta);

    /**
     * 插入新用户到属性表
     * @param userMeta (性别  昵称 头像 url 最近登录ip)
     * @return
     */
    int insertUserMeta(UserMeta userMeta);
    /**
     * 用户删除帖子后,发帖数减一
     * @param userId
     * @return
     */
    int updateUserPostNum(Integer userId);

    /**
     * 更新用户收藏帖子数 ,用户点击收藏帖子, 收藏量 + 1
     * @param userId 用户id
     * @return 影响行数
     */
    int updateUserSupportPostNumAdd(Integer userId);

    /**
     * 用户删除收藏帖子, 收藏量 - 1
     * @param userId 用户id
     * @return 影响行数
     */
    int updateUserSupportPostNumSub(Integer userId);
    /**
     * 更新用户发送帖子数量
     * @return 影响行数
     */
    int updateUserMetaPostNum(Integer userId);

}
